#ifndef PARKINGMANAGER_H
#define PARKINGMANAGER_H

#include <QMainWindow>
#include <QTimer>
#include <QPushButton>
#include <QSqlDatabase>
#include "databasemanager.h"

// 前向声明 CarMainWindow
class CarMainWindow;

namespace Ui {
class ParkingManager;
}

// 停车场管理主窗口类
class ParkingManager : public QMainWindow
{
    Q_OBJECT

public:
    explicit ParkingManager(QWidget *parent = nullptr);  // 构造函数
    ~ParkingManager();  // 析构函数

    int getMaxParkingSlots();           // 得到最大停车位
    void syncSlotsWithDatabase();       // 同步车位与数据库

private slots:
    void updateSlotCount();             // 更新车位数量
    void showSlotInfo(int slotIndex);   // 显示车位信息
    void on_setbtn_clicked();           // 设置按钮点击事件

private:
    Ui::ParkingManager *ui;             // UI指针
    CarMainWindow* m_mainWindow;        // 添加主窗口指针
    QTimer *timer;                      // 时间更新定时器
    DatabaseManager* m_dbManager;       // 添加单例数据库管理器指针
    int totalSlots;                     // 总车位数

    void initDatabase();                // 初始化数据库
    void setupSlots();                  // 设置车位布局
};

#endif // PARKINGMANAGER_H
